from pathlib import Path

class PathConfig:
    """
    路径配置类，定义项目中使用到的所有目录路径。
    使用pathlib.Path确保不同操作系统下的路径兼容性。
    """

    # 存放输入音频文件的目录
    INPUT_DIR = Path("audio_input")
    
    # 存放生成的文本转录文件的目录
    OUTPUT_DIR = Path("transcripts")
    
    # 用于缓存模型文件的目录
    MODEL_CACHE = Path("model_cache")
    
    # 临时存储音频分片的目录
    TEMP_DIR = Path("temp_chunks")

    @classmethod
    def validate_paths(cls):
        """
        验证所有配置的目录是否存在，如果不存在则自动创建。
        使用mkdir(exist_ok=True)可以避免目录已存在时抛出异常。
        """
        # 确保输入音频目录存在
        cls.INPUT_DIR.mkdir(exist_ok=True)
        
        # 确保输出文本目录存在
        cls.OUTPUT_DIR.mkdir(exist_ok=True)